/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.com.cotelasa.scp.dominio.servicio.impl;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import pe.com.cotelasa.common.dao.excepcion.DAOException;
import pe.com.cotelasa.scp.dao.IDAOVentaDetalleFacturacion;
import pe.com.cotelasa.scp.dominio.common.ESTADO_RESULTADO;
import pe.com.cotelasa.scp.dominio.common.ResultadoServicio;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.dominio.service.IServicioVentaDetalleFacturacion;
import pe.com.cotelasa.scp.entidad.VentaDetalleFacturacion;
import pe.com.cotelasa.scp.entidad.VentaDetalleNotaDebito;


/**
 *
 * @author Jorge
 */
@SuppressWarnings("serial")
@Service
public class ServicioVentaDetalleFacturacionImpl implements IServicioVentaDetalleFacturacion, Serializable{

    @Inject
    private IDAOVentaDetalleFacturacion daoVentaDetalleFacturacion;
    
    @Override
    public ResultadoServicio guardarVentaDetalleFacturacion(VentaDetalleFacturacion ventaDetalleFacturacion) {
         ResultadoServicio resultadoServicio = new ResultadoServicio(ESTADO_RESULTADO.EXITOSO);
		try {
			
                        daoVentaDetalleFacturacion.insertar(ventaDetalleFacturacion);
			resultadoServicio.setMensaje("Se guardo el documento satisfactoriamente.");
		} catch (Exception ex) {
			resultadoServicio.setEstadoResultado(ESTADO_RESULTADO.FALLIDO);
			resultadoServicio.setMensaje("Ocurrio un problema al tratar de guardar el documento. Vuelva a intentar");
			Logger.getLogger(ServicioVentaDetalleFacturacionImpl.class.getName()).log(Level.SEVERE, null, ex);
		}
		return resultadoServicio;
    }

    @Override
    public List<VentaDetalleFacturacion> obtenerVentaDetalleFacturacion(Integer idVentaFacturacion) throws ServiceException {
        
          try {
                    Map<String,Object> parametro = new HashMap<String, Object>();
                    parametro.put("ventaFacturacion.coddocventa", idVentaFacturacion);
                    return new ArrayList<VentaDetalleFacturacion>(daoVentaDetalleFacturacion.obtenerColeccionEntidadPorFiltros(VentaDetalleFacturacion.class,parametro));
		} catch (DAOException ex) {
			throw new ServiceException(ex.getMessage(), ex);
		}
             
    }
    
}
